]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
app: Fix crash on search
authorRay Strode <rstrode@redhat.com>
Thu, 10 Nov 2011 22:33:36 +0000 (17:33 -0500)
committerRay Strode <rstrode@redhat.com>
Thu, 10 Nov 2011 22:45:18 +0000 (17:45 -0500)
Not all desktop files tracked by the shell have
Exec lines.  This could be because they're actually
run by another process, for instance, and the desktop
file is merely there to provide metadata.  For example,
nautilus-pastebin provides a desktop file without an
Exec line.

The shell currently crashes if one of these partial
desktop files is installed and the user attempts to
search from the overview.

commit 37726a4cb69ab54298a3c95ccf469e1ab87ed4b1 fixed
a similar crasher.

This commit fixes the next one lower in the code.

https://bugzilla.gnome.org/show_bug.cgi?id=663815

src/shell-app.c

index 3d1e78afacb35de10de6f0713789b759214ca4d9..54f81a0a9874dbf48b898dcc39edf958b48d76f3 100644 (file)
@@ -1262,13 +1262,16 @@ _shell_app_match_search_terms (ShellApp  *app,
             current_match = MATCH_SUBSTRING;
         }
 
-      p = strstr (app->casefolded_exec, term);
-      if (p != NULL)
+      if (app->casefolded_exec)
         {
-          if (p == app->casefolded_exec || *(p - 1) == '-')
-            current_match = MATCH_PREFIX;
-          else if (current_match < MATCH_PREFIX)
-            current_match = MATCH_SUBSTRING;
+          p = strstr (app->casefolded_exec, term);
+          if (p != NULL)
+            {
+              if (p == app->casefolded_exec || *(p - 1) == '-')
+                current_match = MATCH_PREFIX;
+              else if (current_match < MATCH_PREFIX)
+                current_match = MATCH_SUBSTRING;
+            }
         }
 
       if (app->casefolded_description && current_match < MATCH_PREFIX)